In computer graphics providing realistic human facial animation is a difficult problem. The human face is one of the most studied and scrutinized parts of the body. In addition, we as humans have the ability to read an expression and to identify individuals and expressions of emotions based on facial communicative signals, and to know when an expression is false from the slightest deviations.
The shape of a computer generated face can be approximated by a set of geometric primitives such as polygons or curvilinear elements such as polynomials, splines, or NURBS (Non-Uniform Rational B-Splines). These geometric primitives can be described in terms their position in a predetermined set of spatial coordinates using the two or three-dimensional coordinates of their vertices or end points. In addition, other data such as derivatives or normals of these surfaces or functions may also be used.
These vertices are typically collected and combined into a matrix A in which the row vectors of the matrix A represent each image of the face, and the column vectors represent the various locations in two or three dimensions of the vertices used to define a face or object. In general if each of the vertices are defined in three dimensions, then for k vertices of a face or object, there will be 3*k column vectors.
In the instance in which the face is moving, e.g., translating or rotating in space, or deforming, e.g., the relative displacement of the vertices changes relative to a body centered coordinate axis, then the vertices in the matrix are a function of time, t, or sample, k.
Each row of vectors comprising the matrix A could be an emotion or facial expression displayed by an actor for a model face. All of the row vectors in a particular matrix A therefore taken together could represent a range of emotions and facial expressions for that model face. A subset of these various row vectors could be selected, weighted appropriately, and combined together to form a composite face having complex facial expressions or dynamics that could be processed and displayed by a computer system.
However obtaining a complete set of expressions and facial dynamics for a particular face is often not possible. The person whose face is desired may not be capable of generating the necessary facial expressions, or may not be available to generate the necessary facial expressions. The process of collecting the data is also time consuming. In addition, the process of collecting data can require specialized equipment such as a 3D digital motion-capture system. Such a system can include a video camera or single two-dimensional (2D) image that has been converted to a 2D or 3D computer graphics model.
Therefore, it would be advantageous if dynamic animation data for a model face could be morphed or deformed to represent a static geometry or an image taken photograph so as to avoid the costs of collecting and analyzing facial data for the static object or photograph.